//没有返回值 会全部assign到目标对象中形成一个新的对象

//实例1
let target = {
	age: 10,
	page: 1
};
let objA = {
	age: 12,
	year: 20,
	newObj: {
		sex: '男'
	}
};
Object.assign(target, objA);
console.log(target, '拷贝之后')
target.newObj.sex = '女'; // 拷贝为对象引用   
console.log(target.newObj.sex, objA.newObj.sex) //女  两个都修改了 所以是浅拷贝

//实例2
function Person() {
	this.name = 'bob'
};
Person.prototype.age = 20;
let man = new Person();
man.age = 29;
let obj = {
	sex: '男'
};
Object.assign(obj, man);
console.log(obj, '构造函数拷贝后的属性===') // 只能拷贝自身的属性，不能拷贝prototype

//实例3
Object.assign([1, 2, 3], [4, 5])
console.log(Object.assign([1, 2, 3], [4, 5]), '数组使用该方法===') //把数组当对象来操作,索引值为属性
